#pragma once

#include "squad/Scene.h"
#include "squad/StepQueue_SW.h"
#include "squad/Rules_interface.h"
#include "squad/Combat_interface.h"
#include "squad/View_interface.h"

//////////////////////////////////////////////////////////
// Реализация понятий предметной области

class TurnBasedCombat : public Combat_interface
{
    Scene & _scene;
    View_interface & _view;

public:
    TurnBasedCombat() = delete;
    TurnBasedCombat(Scene & scene, View_interface & view);

    virtual void fight(Rules_interface & rules) override;
};
